// export pak , yas ; starting begin ResetFog ;
   0: CALL_OW 335
// RandomizeAll ;
   4: CALL_OW 11
// disable ( 01 ) ;
   8: LD_INT 1
  10: DISABLE_MARKED
// ComEnterUnit ( jan1 , bun1 ) ;
  11: LD_INT 76
  13: PPUSH
  14: LD_INT 29
  16: PPUSH
  17: CALL_OW 120
// ComEnterUnit ( jan2 , bun2 ) ;
  21: LD_INT 95
  23: PPUSH
  24: LD_INT 9
  26: PPUSH
  27: CALL_OW 120
// ComEnterUnit ( jan3 , bun3 ) ;
  31: LD_INT 96
  33: PPUSH
  34: LD_INT 30
  36: PPUSH
  37: CALL_OW 120
// ComHold ( [ jan4 , jan5 ] ) ;
  41: LD_INT 98
  43: PUSH
  44: LD_INT 100
  46: PUSH
  47: EMPTY
  48: LIST
  49: LIST
  50: PPUSH
  51: CALL_OW 140
// CenterOnXY ( 9 , 8 ) ;
  55: LD_INT 9
  57: PPUSH
  58: LD_INT 8
  60: PPUSH
  61: CALL_OW 84
// uc_side = 3 ;
  65: LD_ADDR_OWVAR 20
  69: PUSH
  70: LD_INT 3
  72: ST_TO_ADDR
// pak = NewCharacter ( Pak ) ;
  73: LD_ADDR_EXP 1
  77: PUSH
  78: LD_STRING Pak
  80: PPUSH
  81: CALL_OW 25
  85: ST_TO_ADDR
// yas = NewCharacter ( Yas ) ;
  86: LD_ADDR_EXP 2
  90: PUSH
  91: LD_STRING Yas
  93: PPUSH
  94: CALL_OW 25
  98: ST_TO_ADDR
// PlaceUnitArea ( pak , start , false ) ;
  99: LD_EXP 1
 103: PPUSH
 104: LD_INT 1
 106: PPUSH
 107: LD_INT 0
 109: PPUSH
 110: CALL_OW 49
// wait ( 0 0$02 ) ;
 114: LD_INT 70
 116: PPUSH
 117: CALL_OW 67
// DialogueOn ;
 121: CALL_OW 6
// Say ( pak , p1 ) ;
 125: LD_EXP 1
 129: PPUSH
 130: LD_STRING p1
 132: PPUSH
 133: CALL_OW 88
// SayRadio ( yas , y1 ) ;
 137: LD_EXP 2
 141: PPUSH
 142: LD_STRING y1
 144: PPUSH
 145: CALL_OW 94
// Say ( pak , p2 ) ;
 149: LD_EXP 1
 153: PPUSH
 154: LD_STRING p2
 156: PPUSH
 157: CALL_OW 88
// SayRadio ( yas , y2 ) ;
 161: LD_EXP 2
 165: PPUSH
 166: LD_STRING y2
 168: PPUSH
 169: CALL_OW 94
// Say ( pak , p3 ) ;
 173: LD_EXP 1
 177: PPUSH
 178: LD_STRING p3
 180: PPUSH
 181: CALL_OW 88
// Say ( sol1 , s1 ) ;
 185: LD_EXP 3
 189: PPUSH
 190: LD_STRING s1
 192: PPUSH
 193: CALL_OW 88
// Say ( pak , p4 ) ;
 197: LD_EXP 1
 201: PPUSH
 202: LD_STRING p4
 204: PPUSH
 205: CALL_OW 88
// DialogueOff ;
 209: CALL_OW 7
// RevealFogArea ( 3 , bunkry ) ;
 213: LD_INT 3
 215: PPUSH
 216: LD_INT 4
 218: PPUSH
 219: CALL_OW 332
// ChangeMissionObjectives ( Cel ) ;
 223: LD_STRING Cel
 225: PPUSH
 226: CALL_OW 337
// czas = false ;
 230: LD_ADDR_EXP 12
 234: PUSH
 235: LD_INT 0
 237: ST_TO_ADDR
// SaveForQuickRestart ;
 238: CALL_OW 22
// end ;
 242: END
// every 0 0$01 + 0 0$10 trigger FilterAllUnits ( [ f_side , 1 ] ) = 0 marked 01 do
 243: LD_INT 22
 245: PUSH
 246: LD_INT 1
 248: PUSH
 249: EMPTY
 250: LIST
 251: LIST
 252: PPUSH
 253: CALL_OW 69
 257: PUSH
 258: LD_INT 0
 260: EQUAL
 261: IFFALSE 448
 263: GO 265
 265: DISABLE
// begin Say ( pak , p5 ) ;
 266: LD_EXP 1
 270: PPUSH
 271: LD_STRING p5
 273: PPUSH
 274: CALL_OW 88
// if FilterAllUnits ( [ [ f_side , 3 ] , [ f_type , unit_human ] ] ) = 8 then
 278: LD_INT 22
 280: PUSH
 281: LD_INT 3
 283: PUSH
 284: EMPTY
 285: LIST
 286: LIST
 287: PUSH
 288: LD_INT 21
 290: PUSH
 291: LD_INT 1
 293: PUSH
 294: EMPTY
 295: LIST
 296: LIST
 297: PUSH
 298: EMPTY
 299: LIST
 300: LIST
 301: PPUSH
 302: CALL_OW 69
 306: PUSH
 307: LD_INT 8
 309: EQUAL
 310: IFFALSE 324
// AddMedal ( ludzie , 1 ) else
 312: LD_STRING ludzie
 314: PPUSH
 315: LD_INT 1
 317: PPUSH
 318: CALL_OW 101
 322: GO 335
// AddMedal ( ludzie , - 1 ) ;
 324: LD_STRING ludzie
 326: PPUSH
 327: LD_INT 1
 329: NEG
 330: PPUSH
 331: CALL_OW 101
// if FilterAllUnits ( [ [ f_side , 3 ] , [ f_type , unit_vehicle ] ] ) = 2 then
 335: LD_INT 22
 337: PUSH
 338: LD_INT 3
 340: PUSH
 341: EMPTY
 342: LIST
 343: LIST
 344: PUSH
 345: LD_INT 21
 347: PUSH
 348: LD_INT 2
 350: PUSH
 351: EMPTY
 352: LIST
 353: LIST
 354: PUSH
 355: EMPTY
 356: LIST
 357: LIST
 358: PPUSH
 359: CALL_OW 69
 363: PUSH
 364: LD_INT 2
 366: EQUAL
 367: IFFALSE 381
// AddMedal ( czolgi , 1 ) else
 369: LD_STRING czolgi
 371: PPUSH
 372: LD_INT 1
 374: PPUSH
 375: CALL_OW 101
 379: GO 392
// AddMedal ( czolgi , - 1 ) ;
 381: LD_STRING czolgi
 383: PPUSH
 384: LD_INT 1
 386: NEG
 387: PPUSH
 388: CALL_OW 101
// if czas = true then
 392: LD_EXP 12
 396: PUSH
 397: LD_INT 1
 399: EQUAL
 400: IFFALSE 415
// AddMedal ( czas , - 1 ) else
 402: LD_STRING czas
 404: PPUSH
 405: LD_INT 1
 407: NEG
 408: PPUSH
 409: CALL_OW 101
 413: GO 425
// AddMedal ( czas , 1 ) ;
 415: LD_STRING czas
 417: PPUSH
 418: LD_INT 1
 420: PPUSH
 421: CALL_OW 101
// SaveCharacters ( pak , pak ) ;
 425: LD_EXP 1
 429: PPUSH
 430: LD_STRING pak
 432: PPUSH
 433: CALL_OW 38
// GiveMedals ( Medale ) ;
 437: LD_STRING Medale
 439: PPUSH
 440: CALL_OW 102
// YouWin ;
 444: CALL_OW 103
// end ; end_of_file
 448: END
// export sol1 , sol2 , sol3 , doc , eng , mec1 , mec2 ; every 0 0$0.1 do
 449: GO 451
 451: DISABLE
// begin uc_side = 3 ;
 452: LD_ADDR_OWVAR 20
 456: PUSH
 457: LD_INT 3
 459: ST_TO_ADDR
// uc_nation = 3 ;
 460: LD_ADDR_OWVAR 21
 464: PUSH
 465: LD_INT 3
 467: ST_TO_ADDR
// hc_skills = [ Rand ( 2 , 4 ) , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , 0 ] ;
 468: LD_ADDR_OWVAR 31
 472: PUSH
 473: LD_INT 2
 475: PPUSH
 476: LD_INT 4
 478: PPUSH
 479: CALL_OW 12
 483: PUSH
 484: LD_INT 0
 486: PPUSH
 487: LD_INT 2
 489: PPUSH
 490: CALL_OW 12
 494: PUSH
 495: LD_INT 0
 497: PPUSH
 498: LD_INT 2
 500: PPUSH
 501: CALL_OW 12
 505: PUSH
 506: LD_INT 0
 508: PUSH
 509: EMPTY
 510: LIST
 511: LIST
 512: LIST
 513: LIST
 514: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 515: LD_ADDR_OWVAR 27
 519: PUSH
 520: LD_INT 1
 522: PPUSH
 523: LD_INT 2
 525: PPUSH
 526: CALL_OW 12
 530: ST_TO_ADDR
// sol1 = CreateHuman ;
 531: LD_ADDR_EXP 3
 535: PUSH
 536: CALL_OW 44
 540: ST_TO_ADDR
// hc_skills = [ Rand ( 2 , 4 ) , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , 0 ] ;
 541: LD_ADDR_OWVAR 31
 545: PUSH
 546: LD_INT 2
 548: PPUSH
 549: LD_INT 4
 551: PPUSH
 552: CALL_OW 12
 556: PUSH
 557: LD_INT 0
 559: PPUSH
 560: LD_INT 2
 562: PPUSH
 563: CALL_OW 12
 567: PUSH
 568: LD_INT 0
 570: PPUSH
 571: LD_INT 2
 573: PPUSH
 574: CALL_OW 12
 578: PUSH
 579: LD_INT 0
 581: PUSH
 582: EMPTY
 583: LIST
 584: LIST
 585: LIST
 586: LIST
 587: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 588: LD_ADDR_OWVAR 27
 592: PUSH
 593: LD_INT 1
 595: PPUSH
 596: LD_INT 2
 598: PPUSH
 599: CALL_OW 12
 603: ST_TO_ADDR
// sol2 = CreateHuman ;
 604: LD_ADDR_EXP 4
 608: PUSH
 609: CALL_OW 44
 613: ST_TO_ADDR
// hc_skills = [ Rand ( 2 , 4 ) , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , 0 ] ;
 614: LD_ADDR_OWVAR 31
 618: PUSH
 619: LD_INT 2
 621: PPUSH
 622: LD_INT 4
 624: PPUSH
 625: CALL_OW 12
 629: PUSH
 630: LD_INT 0
 632: PPUSH
 633: LD_INT 2
 635: PPUSH
 636: CALL_OW 12
 640: PUSH
 641: LD_INT 0
 643: PPUSH
 644: LD_INT 2
 646: PPUSH
 647: CALL_OW 12
 651: PUSH
 652: LD_INT 0
 654: PUSH
 655: EMPTY
 656: LIST
 657: LIST
 658: LIST
 659: LIST
 660: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 661: LD_ADDR_OWVAR 27
 665: PUSH
 666: LD_INT 1
 668: PPUSH
 669: LD_INT 2
 671: PPUSH
 672: CALL_OW 12
 676: ST_TO_ADDR
// sol3 = CreateHuman ;
 677: LD_ADDR_EXP 5
 681: PUSH
 682: CALL_OW 44
 686: ST_TO_ADDR
// PlaceUnitArea ( sol1 , start , false ) ;
 687: LD_EXP 3
 691: PPUSH
 692: LD_INT 1
 694: PPUSH
 695: LD_INT 0
 697: PPUSH
 698: CALL_OW 49
// PlaceUnitArea ( sol2 , start , false ) ;
 702: LD_EXP 4
 706: PPUSH
 707: LD_INT 1
 709: PPUSH
 710: LD_INT 0
 712: PPUSH
 713: CALL_OW 49
// PlaceUnitArea ( sol3 , start , false ) ;
 717: LD_EXP 5
 721: PPUSH
 722: LD_INT 1
 724: PPUSH
 725: LD_INT 0
 727: PPUSH
 728: CALL_OW 49
// uc_side = 4 ;
 732: LD_ADDR_OWVAR 20
 736: PUSH
 737: LD_INT 4
 739: ST_TO_ADDR
// hc_class = 4 ;
 740: LD_ADDR_OWVAR 28
 744: PUSH
 745: LD_INT 4
 747: ST_TO_ADDR
// hc_skills = [ 0 , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , Rand ( 2 , 4 ) ] ;
 748: LD_ADDR_OWVAR 31
 752: PUSH
 753: LD_INT 0
 755: PUSH
 756: LD_INT 0
 758: PPUSH
 759: LD_INT 2
 761: PPUSH
 762: CALL_OW 12
 766: PUSH
 767: LD_INT 0
 769: PPUSH
 770: LD_INT 2
 772: PPUSH
 773: CALL_OW 12
 777: PUSH
 778: LD_INT 2
 780: PPUSH
 781: LD_INT 4
 783: PPUSH
 784: CALL_OW 12
 788: PUSH
 789: EMPTY
 790: LIST
 791: LIST
 792: LIST
 793: LIST
 794: ST_TO_ADDR
// doc = CreateHuman ;
 795: LD_ADDR_EXP 6
 799: PUSH
 800: CALL_OW 44
 804: ST_TO_ADDR
// PlaceUnitArea ( doc , baza , false ) ;
 805: LD_EXP 6
 809: PPUSH
 810: LD_INT 5
 812: PPUSH
 813: LD_INT 0
 815: PPUSH
 816: CALL_OW 49
// hc_class = 2 ;
 820: LD_ADDR_OWVAR 28
 824: PUSH
 825: LD_INT 2
 827: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 2 , 4 ) , Rand ( 0 , 2 ) , 0 ] ;
 828: LD_ADDR_OWVAR 31
 832: PUSH
 833: LD_INT 0
 835: PPUSH
 836: LD_INT 2
 838: PPUSH
 839: CALL_OW 12
 843: PUSH
 844: LD_INT 2
 846: PPUSH
 847: LD_INT 4
 849: PPUSH
 850: CALL_OW 12
 854: PUSH
 855: LD_INT 0
 857: PPUSH
 858: LD_INT 2
 860: PPUSH
 861: CALL_OW 12
 865: PUSH
 866: LD_INT 0
 868: PUSH
 869: EMPTY
 870: LIST
 871: LIST
 872: LIST
 873: LIST
 874: ST_TO_ADDR
// eng = CreateHuman ;
 875: LD_ADDR_EXP 7
 879: PUSH
 880: CALL_OW 44
 884: ST_TO_ADDR
// PlaceUnitArea ( eng , baza , false ) ;
 885: LD_EXP 7
 889: PPUSH
 890: LD_INT 5
 892: PPUSH
 893: LD_INT 0
 895: PPUSH
 896: CALL_OW 49
// hc_class = 3 ;
 900: LD_ADDR_OWVAR 28
 904: PUSH
 905: LD_INT 3
 907: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , Rand ( 2 , 4 ) , 0 ] ;
 908: LD_ADDR_OWVAR 31
 912: PUSH
 913: LD_INT 0
 915: PPUSH
 916: LD_INT 2
 918: PPUSH
 919: CALL_OW 12
 923: PUSH
 924: LD_INT 0
 926: PPUSH
 927: LD_INT 2
 929: PPUSH
 930: CALL_OW 12
 934: PUSH
 935: LD_INT 2
 937: PPUSH
 938: LD_INT 4
 940: PPUSH
 941: CALL_OW 12
 945: PUSH
 946: LD_INT 0
 948: PUSH
 949: EMPTY
 950: LIST
 951: LIST
 952: LIST
 953: LIST
 954: ST_TO_ADDR
// mec1 = CreateHuman ;
 955: LD_ADDR_EXP 8
 959: PUSH
 960: CALL_OW 44
 964: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , Rand ( 2 , 4 ) , 0 ] ;
 965: LD_ADDR_OWVAR 31
 969: PUSH
 970: LD_INT 0
 972: PPUSH
 973: LD_INT 2
 975: PPUSH
 976: CALL_OW 12
 980: PUSH
 981: LD_INT 0
 983: PPUSH
 984: LD_INT 2
 986: PPUSH
 987: CALL_OW 12
 991: PUSH
 992: LD_INT 2
 994: PPUSH
 995: LD_INT 4
 997: PPUSH
 998: CALL_OW 12
1002: PUSH
1003: LD_INT 0
1005: PUSH
1006: EMPTY
1007: LIST
1008: LIST
1009: LIST
1010: LIST
1011: ST_TO_ADDR
// mec2 = CreateHuman ;
1012: LD_ADDR_EXP 9
1016: PUSH
1017: CALL_OW 44
1021: ST_TO_ADDR
// PlaceUnitArea ( mec1 , baza , false ) ;
1022: LD_EXP 8
1026: PPUSH
1027: LD_INT 5
1029: PPUSH
1030: LD_INT 0
1032: PPUSH
1033: CALL_OW 49
// PlaceUnitArea ( mec2 , baza , false ) ;
1037: LD_EXP 9
1041: PPUSH
1042: LD_INT 5
1044: PPUSH
1045: LD_INT 0
1047: PPUSH
1048: CALL_OW 49
// ComEnterUnit ( [ doc , eng , mec1 , mec2 ] , baza2 ) ;
1052: LD_EXP 6
1056: PUSH
1057: LD_EXP 7
1061: PUSH
1062: LD_EXP 8
1066: PUSH
1067: LD_EXP 9
1071: PUSH
1072: EMPTY
1073: LIST
1074: LIST
1075: LIST
1076: LIST
1077: PPUSH
1078: LD_INT 10
1080: PPUSH
1081: CALL_OW 120
// end ;
1085: END
// every 0 0$01 trigger See ( 3 , baza2 ) do
1086: LD_INT 3
1088: PPUSH
1089: LD_INT 10
1091: PPUSH
1092: CALL_OW 292
1096: IFFALSE 1239
1098: GO 1100
1100: DISABLE
// begin DialogueOn ;
1101: CALL_OW 6
// Say ( pak , p7 ) ;
1105: LD_EXP 1
1109: PPUSH
1110: LD_STRING p7
1112: PPUSH
1113: CALL_OW 88
// DialogueOff ;
1117: CALL_OW 7
// ComExitBuilding ( [ doc , eng , mec1 , mec2 ] ) ;
1121: LD_EXP 6
1125: PUSH
1126: LD_EXP 7
1130: PUSH
1131: LD_EXP 8
1135: PUSH
1136: LD_EXP 9
1140: PUSH
1141: EMPTY
1142: LIST
1143: LIST
1144: LIST
1145: LIST
1146: PPUSH
1147: CALL_OW 122
// SetSide ( [ doc , eng , mec1 , mec2 ] , 3 ) ;
1151: LD_EXP 6
1155: PUSH
1156: LD_EXP 7
1160: PUSH
1161: LD_EXP 8
1165: PUSH
1166: LD_EXP 9
1170: PUSH
1171: EMPTY
1172: LIST
1173: LIST
1174: LIST
1175: LIST
1176: PPUSH
1177: LD_INT 3
1179: PPUSH
1180: CALL_OW 235
// wait ( 0 0$02 ) ;
1184: LD_INT 70
1186: PPUSH
1187: CALL_OW 67
// Say ( mec1 , m1 ) ;
1191: LD_EXP 8
1195: PPUSH
1196: LD_STRING m1
1198: PPUSH
1199: CALL_OW 88
// Say ( doc , d1 ) ;
1203: LD_EXP 6
1207: PPUSH
1208: LD_STRING d1
1210: PPUSH
1211: CALL_OW 88
// Say ( eng , e1 ) ;
1215: LD_EXP 7
1219: PPUSH
1220: LD_STRING e1
1222: PPUSH
1223: CALL_OW 88
// Say ( pak , p8 ) ;
1227: LD_EXP 1
1231: PPUSH
1232: LD_STRING p8
1234: PPUSH
1235: CALL_OW 88
// end ;
1239: END
// every 0 0$01 trigger IsInArea ( eng , cicho ) do
1240: LD_EXP 7
1244: PPUSH
1245: LD_INT 6
1247: PPUSH
1248: CALL_OW 308
1252: IFFALSE 1269
1254: GO 1256
1256: DISABLE
// begin Say ( eng , e2 ) ;
1257: LD_EXP 7
1261: PPUSH
1262: LD_STRING e2
1264: PPUSH
1265: CALL_OW 88
// end ; end_of_file
1269: END
// every 0 0$01 + 0 0$5 trigger IsDead ( pak ) do
1270: LD_EXP 1
1274: PPUSH
1275: CALL_OW 301
1279: IFFALSE 1291
1281: GO 1283
1283: DISABLE
// begin YouLost ( pakryszkin ) ;
1284: LD_STRING pakryszkin
1286: PPUSH
1287: CALL_OW 104
// end ;
1291: END
// every 0 0$01 trigger IsDead ( baza1 ) do
1292: LD_INT 1
1294: PPUSH
1295: CALL_OW 301
1299: IFFALSE 1311
1301: GO 1303
1303: DISABLE
// begin YouLost ( baza ) ;
1304: LD_STRING baza
1306: PPUSH
1307: CALL_OW 104
// end ;
1311: END
// on Contact ( side1 , side2 ) do begin if side1 = 1 and side2 = 3 then
1312: LD_VAR 0 1
1316: PUSH
1317: LD_INT 1
1319: EQUAL
1320: PUSH
1321: LD_VAR 0 2
1325: PUSH
1326: LD_INT 3
1328: EQUAL
1329: AND
1330: IFFALSE 1358
// begin disable ;
1332: DISABLE
// Say ( pak , p6 ) ;
1333: LD_EXP 1
1337: PPUSH
1338: LD_STRING p6
1340: PPUSH
1341: CALL_OW 88
// wait ( 0 0$03 ) ;
1345: LD_INT 105
1347: PPUSH
1348: CALL_OW 67
// alarm ;
1352: CALL 1627 0 0
// end else
1356: GO 1424
// if side1 = 3 and side2 = 4 then
1358: LD_VAR 0 1
1362: PUSH
1363: LD_INT 3
1365: EQUAL
1366: PUSH
1367: LD_VAR 0 2
1371: PUSH
1372: LD_INT 4
1374: EQUAL
1375: AND
1376: IFFALSE 1424
// begin ComFree ( [ jan4 , jan5 ] ) ;
1378: LD_INT 98
1380: PUSH
1381: LD_INT 100
1383: PUSH
1384: EMPTY
1385: LIST
1386: LIST
1387: PPUSH
1388: CALL_OW 139
// Say ( pak , p9 ) ;
1392: LD_EXP 1
1396: PPUSH
1397: LD_STRING p9
1399: PPUSH
1400: CALL_OW 88
// wait ( 0 0$1.5 ) ;
1404: LD_INT 52
1406: PPUSH
1407: CALL_OW 67
// ComMoveXY ( jan5 , 55 , 7 ) ;
1411: LD_INT 100
1413: PPUSH
1414: LD_INT 55
1416: PPUSH
1417: LD_INT 7
1419: PPUSH
1420: CALL_OW 111
// end ; end ;
1424: PPOPN 2
1426: END
// every 0 0$01 trigger GetSide ( baza1 ) = 3 do
1427: LD_INT 1
1429: PPUSH
1430: CALL_OW 255
1434: PUSH
1435: LD_INT 3
1437: EQUAL
1438: IFFALSE 1476
1440: GO 1442
1442: DISABLE
// begin ChangeMissionObjectives ( CelChg ) ;
1443: LD_STRING CelChg
1445: PPUSH
1446: CALL_OW 337
// Say ( pak , p10 ) ;
1450: LD_EXP 1
1454: PPUSH
1455: LD_STRING p10
1457: PPUSH
1458: CALL_OW 88
// wait ( 1 1$0 ) ;
1462: LD_INT 2100
1464: PPUSH
1465: CALL_OW 67
// atak ;
1469: CALL 1477 0 0
// enable ( 01 ) ;
1473: LD_INT 1
1475: ENABLE_MARKED
// end ;
1476: END
// export function atak ; var i ; begin
1477: LD_INT 0
1479: PPUSH
1480: PPUSH
// for i = 1 to 10 do
1481: LD_ADDR_VAR 0 2
1485: PUSH
1486: DOUBLE
1487: LD_INT 1
1489: DEC
1490: ST_TO_ADDR
1491: LD_INT 10
1493: PUSH
1494: FOR_TO
1495: IFFALSE 1620
// begin uc_side = 1 ;
1497: LD_ADDR_OWVAR 20
1501: PUSH
1502: LD_INT 1
1504: ST_TO_ADDR
// uc_nation = 1 ;
1505: LD_ADDR_OWVAR 21
1509: PUSH
1510: LD_INT 1
1512: ST_TO_ADDR
// hc_class = 1 ;
1513: LD_ADDR_OWVAR 28
1517: PUSH
1518: LD_INT 1
1520: ST_TO_ADDR
// hc_skills = [ Rand ( 2 , 4 ) , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , 0 ] ;
1521: LD_ADDR_OWVAR 31
1525: PUSH
1526: LD_INT 2
1528: PPUSH
1529: LD_INT 4
1531: PPUSH
1532: CALL_OW 12
1536: PUSH
1537: LD_INT 0
1539: PPUSH
1540: LD_INT 2
1542: PPUSH
1543: CALL_OW 12
1547: PUSH
1548: LD_INT 0
1550: PPUSH
1551: LD_INT 2
1553: PPUSH
1554: CALL_OW 12
1558: PUSH
1559: LD_INT 0
1561: PUSH
1562: EMPTY
1563: LIST
1564: LIST
1565: LIST
1566: LIST
1567: ST_TO_ADDR
// jankes2 = CreateHuman ;
1568: LD_ADDR_EXP 11
1572: PUSH
1573: CALL_OW 44
1577: ST_TO_ADDR
// PlaceUnitArea ( jankes2 , am , false ) ;
1578: LD_EXP 11
1582: PPUSH
1583: LD_INT 2
1585: PPUSH
1586: LD_INT 0
1588: PPUSH
1589: CALL_OW 49
// ComAgressiveMove ( jankes2 , 56 , 13 ) ;
1593: LD_EXP 11
1597: PPUSH
1598: LD_INT 56
1600: PPUSH
1601: LD_INT 13
1603: PPUSH
1604: CALL_OW 114
// PriorityAttack ( 1 , baza1 ) ;
1608: LD_INT 1
1610: PPUSH
1611: LD_INT 1
1613: PPUSH
1614: CALL_OW 470
// end ;
1618: GO 1494
1620: POP
1621: POP
// end ; end_of_file
1622: LD_VAR 0 1
1626: RET
// export jankes , jankes2 , czas , nasi , grupa ; export function alarm ; var i ; begin
1627: LD_INT 0
1629: PPUSH
1630: PPUSH
// for i = 1 to 6 do
1631: LD_ADDR_VAR 0 2
1635: PUSH
1636: DOUBLE
1637: LD_INT 1
1639: DEC
1640: ST_TO_ADDR
1641: LD_INT 6
1643: PUSH
1644: FOR_TO
1645: IFFALSE 1876
// begin RandomizeAll ;
1647: CALL_OW 11
// uc_side = 1 ;
1651: LD_ADDR_OWVAR 20
1655: PUSH
1656: LD_INT 1
1658: ST_TO_ADDR
// uc_nation = 1 ;
1659: LD_ADDR_OWVAR 21
1663: PUSH
1664: LD_INT 1
1666: ST_TO_ADDR
// hc_class = 1 ;
1667: LD_ADDR_OWVAR 28
1671: PUSH
1672: LD_INT 1
1674: ST_TO_ADDR
// hc_sex = Rand ( 1 , 2 ) ;
1675: LD_ADDR_OWVAR 27
1679: PUSH
1680: LD_INT 1
1682: PPUSH
1683: LD_INT 2
1685: PPUSH
1686: CALL_OW 12
1690: ST_TO_ADDR
// hc_skills = [ Rand ( 3 , 5 ) , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , 0 ] ;
1691: LD_ADDR_OWVAR 31
1695: PUSH
1696: LD_INT 3
1698: PPUSH
1699: LD_INT 5
1701: PPUSH
1702: CALL_OW 12
1706: PUSH
1707: LD_INT 0
1709: PPUSH
1710: LD_INT 2
1712: PPUSH
1713: CALL_OW 12
1717: PUSH
1718: LD_INT 0
1720: PPUSH
1721: LD_INT 2
1723: PPUSH
1724: CALL_OW 12
1728: PUSH
1729: LD_INT 0
1731: PUSH
1732: EMPTY
1733: LIST
1734: LIST
1735: LIST
1736: LIST
1737: ST_TO_ADDR
// jankes = CreateHuman ;
1738: LD_ADDR_EXP 10
1742: PUSH
1743: CALL_OW 44
1747: ST_TO_ADDR
// PlaceUnitArea ( jankes , zbroj , false ) ;
1748: LD_EXP 10
1752: PPUSH
1753: LD_INT 3
1755: PPUSH
1756: LD_INT 0
1758: PPUSH
1759: CALL_OW 49
// grupa := FilterAllUnits ( [ [ f_side , 1 ] , [ f_outside ] , [ f_type , unit_human ] ] ) ;
1763: LD_ADDR_EXP 14
1767: PUSH
1768: LD_INT 22
1770: PUSH
1771: LD_INT 1
1773: PUSH
1774: EMPTY
1775: LIST
1776: LIST
1777: PUSH
1778: LD_INT 56
1780: PUSH
1781: EMPTY
1782: LIST
1783: PUSH
1784: LD_INT 21
1786: PUSH
1787: LD_INT 1
1789: PUSH
1790: EMPTY
1791: LIST
1792: LIST
1793: PUSH
1794: EMPTY
1795: LIST
1796: LIST
1797: LIST
1798: PPUSH
1799: CALL_OW 69
1803: ST_TO_ADDR
// nasi := FilterAllUnits ( [ [ f_side , 3 ] , [ f_type , unit_human ] ] ) ;
1804: LD_ADDR_EXP 13
1808: PUSH
1809: LD_INT 22
1811: PUSH
1812: LD_INT 3
1814: PUSH
1815: EMPTY
1816: LIST
1817: LIST
1818: PUSH
1819: LD_INT 21
1821: PUSH
1822: LD_INT 1
1824: PUSH
1825: EMPTY
1826: LIST
1827: LIST
1828: PUSH
1829: EMPTY
1830: LIST
1831: LIST
1832: PPUSH
1833: CALL_OW 69
1837: ST_TO_ADDR
// ComAttackUnit ( grupa [ i ] , ( NearestUnitToUnit ( nasi , grupa [ i ] ) ) ) ;
1838: LD_EXP 14
1842: PUSH
1843: LD_VAR 0 2
1847: ARRAY
1848: PPUSH
1849: LD_EXP 13
1853: PPUSH
1854: LD_EXP 14
1858: PUSH
1859: LD_VAR 0 2
1863: ARRAY
1864: PPUSH
1865: CALL_OW 74
1869: PPUSH
1870: CALL_OW 115
// end ;
1874: GO 1644
1876: POP
1877: POP
// end ;
1878: LD_VAR 0 1
1882: RET
// every 0 0$01 trigger IsInArea ( jan5 , zbroj ) do
1883: LD_INT 100
1885: PPUSH
1886: LD_INT 3
1888: PPUSH
1889: CALL_OW 308
1893: IFFALSE 1910
1895: GO 1897
1897: DISABLE
// begin disable ;
1898: DISABLE
// wait ( 0 0$03 ) ;
1899: LD_INT 105
1901: PPUSH
1902: CALL_OW 67
// alarm ;
1906: CALL 1627 0 0
// end ;
1910: END
// every 0 0$01 trigger See ( 3 , kar1 ) do
1911: LD_INT 3
1913: PPUSH
1914: LD_INT 118
1916: PPUSH
1917: CALL_OW 292
1921: IFFALSE 1938
1923: GO 1925
1925: DISABLE
// begin Say ( mec1 , m2 ) ;
1926: LD_EXP 8
1930: PPUSH
1931: LD_STRING m2
1933: PPUSH
1934: CALL_OW 88
// end ;
1938: END
// every 0 0$01 trigger See ( 3 , kar2 ) do
1939: LD_INT 3
1941: PPUSH
1942: LD_INT 115
1944: PPUSH
1945: CALL_OW 292
1949: IFFALSE 1966
1951: GO 1953
1953: DISABLE
// begin Say ( mec1 , m3 ) ;
1954: LD_EXP 8
1958: PPUSH
1959: LD_STRING m3
1961: PPUSH
1962: CALL_OW 88
// end ;
1966: END
// every 0 0$01 trigger FilterAllUnits ( [ [ f_side , 3 ] , [ f_type , unit_vehicle ] ] ) = 2 do
1967: LD_INT 22
1969: PUSH
1970: LD_INT 3
1972: PUSH
1973: EMPTY
1974: LIST
1975: LIST
1976: PUSH
1977: LD_INT 21
1979: PUSH
1980: LD_INT 2
1982: PUSH
1983: EMPTY
1984: LIST
1985: LIST
1986: PUSH
1987: EMPTY
1988: LIST
1989: LIST
1990: PPUSH
1991: CALL_OW 69
1995: PUSH
1996: LD_INT 2
1998: EQUAL
1999: IFFALSE 2011
2001: GO 2003
2003: DISABLE
// begin ChangeMissionObjectives ( CelM2w ) ;
2004: LD_STRING CelM2w
2006: PPUSH
2007: CALL_OW 337
// end ;
2011: END
// every 25 25$0 do
2012: GO 2014
2014: DISABLE
// begin czas = true ;
2015: LD_ADDR_EXP 12
2019: PUSH
2020: LD_INT 1
2022: ST_TO_ADDR
// end ;
2023: END
